% !TeX root = ../CCNUthesis-doc.tex

\subsection{关于浮动体}

主要参考 Liam 的 \href{https://liam.page/2017/03/11/floats-in-LaTeX-basic/}{LaTeX 中的浮动体：基础篇}

\subsubsection{为什么浮动体会“乱跑”？}\label{subsubsec:浮动体乱跑}

对于习惯了使用 word 而初学 \LaTeX{} 的用户，浮动体是“最难以接受”的。

\begin{latexexample}
  “为什么它不在文字下面？”

  “为什么它在乱跑！”
\end{latexexample}

这些都是初学者在使用 \LaTeX{} 的过程中遇到的最多的“问题”，但是这是浮动体最大的特点和功能。

word 是字处理工具而 \LaTeX{} 为排版而生。利用有限的空间排出最大的“效率”，这是排版软件的工作。所以浮动体的想法其实很好理解：
版心，也就是页面尺寸一般都是固定下来的，但是如果一张图片比较大，在这一页排不下，那怎么办？正常就是会排到下一页，但是上一页本来留给图片的位置却没有图片，这样就会空出一片来，看上去也会比较奇怪，也没有充分利用好页面的纸张。于是图片后面的文字就会上来，代替图片原来的位置，而图片就会出现在下一页。

这，就是为什么有上面初学者常常问的问题的原因。并不是“乱跑”，而是受限于页面尺寸，图片只能排到后面，但是排到顶部还是底部就受 \env{table} 或 \env{figure} 环境的可选参数来影响（具体见 \file{lshort-zh-cn}）

用户希望浮动体待在原地，很可能是习惯了「下图」、「上表」这样的引述方式；而没有使用科技论文标准的「图 1」、「表 2」的引述方式，而 后者与 \LaTeX{} 交叉引用结合，才是正确的使用方式。


\subsubsection{为什么不推荐使用 \pkg{float} 宏包的 \cmd{H} 选项}\label{subsubsec:不推荐float}

在~\ref{subsubsec:浮动体乱跑} 节中我们已经阐述了浮动体的原理想法，如果用户理解，那么使用 \pkg{float} 宏包的 \cmd{H} 选项强行去掉了浮动体机制会造成的后果也就很明显了：可能会造成产生大量空白。

其实还有一个问题，即使你使用 \cmd{H} 调“好”了，但是如果你前面的文本一做增减，就容易牵一发而动全身，可能又会产生空白。如果非要用 \cmd{H}，建议是等文本内容都确定后，再“微调图片”。


\subsubsection{浮动体跨节}

一些用户可能会发现使用浮动体之后，图片或表格可能“跨节”跑到了下一 \tn{section} 或 \tn{subsection} 或 \tn{subsubsection} 去（由于 \tn{chapter} 的 \tn{clearpage}，所以只要不是特意改 \tn{chapter} 的源码，浮动体是不会跨「章」的）。

之所以会出现这个现象，原理还是如~\ref{subsubsec:浮动体乱跑} 中所说。这是正常现象，接受即可。（一些用户可能担心老师会说，但是只要使用过 \LaTeX{} 的高校老师肯定知道浮动体的效果）如果真有强迫症或者指导老师真说了这个，那么有下面三种“解决思路”：

\begin{enumerate}
  \item 调整要放置的图片或者表格的大小；
  \item 调整上文的内容，或者前面出现的图片或表格的尺寸，好“腾出位置”给新的图片；
  \item 单独把这个图片调大放一页，然后在新一页开启新的 \tn{section}，这样相对来说显得没那么突兀。
\end{enumerate}

如果强行用 \pkg{float} 宏包的 \cmd{H} 选项，后果就是如~\ref{subsubsec:不推荐float} 所说，可能会产生大量空白。